﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Rappelz.GameServer
{
    public class DungeonInfo
    {
// UserDefinedType: _DUNGEON_INFO
// BaseClass      :   StructMonster::MonsterDeleteHandler, offset = 0x0
// VTable         :     , Type:  *
// Function       :     public void onMonsterDelete(struct StructMonster *)
// Function       :     public void MonsterDeleteHandler(const struct StructMonster::MonsterDeleteHandler &)
// Function       :     public void MonsterDeleteHandler()
// Function       :     public struct StructMonster::MonsterDeleteHandler & operator=(const struct StructMonster::MonsterDeleteHandler &)
// 
// Function       :   public void _DUNGEON_INFO::_DUNGEON_INFO(const struct _DUNGEON_INFO &)
// Function       :   public void _DUNGEON_INFO::_DUNGEON_INFO()
// Function       :   public void _DUNGEON_INFO::procRespawnEnvironmentalGuardian()
        public int id;                                          // 0x4
        public int level;                                       // 0x8
        public ArPosition raid_start_pos;                       // 0xC
        public ArPosition siege_start_pos;                      // 0x1C
        public ArPosition siege_defence_pos;                    // 0x2C
        public ArPosition core_pos;                             // 0x3C
        public ArPosition connector_pos;                        // 0x4C
        public int core_id;                                     // 0x5C
        public int start_time;                                  // 0x60
        public int end_time;                                    // 0x64
        public int raid_start_time;                             // 0x68
        public int raid_end_time;                               // 0x6C
        public float core_offset_z;                             // 0x70
        public float core_around_x;                             // 0x74
        public float core_around_y;                             // 0x78
        public float core_around_z;                             // 0x7C
        public float core_scale_x;                              // 0x80
        public float core_scale_y;                              // 0x84
        public float core_scale_z;                              // 0x88
        public bool core_is_lock_height;                        // 0x8C
        public float core_lock_height;                          // 0x90
        public int[] boss_id = new int[2];                      // 0x94
        public X2D.Boxf box;                                    // 0x9C
        public int connector_id;                                // 0xAC
        public int owner_guild_id;                              // 0xB0
        public int raid_guild_id;                               // 0xB4
        public uint best_raid_time;                             // 0xB8
        public int original_owner_guild_id;                     // 0xBC
        public long last_global_notice_time;                    // 0xC0
        public long last_dungeon_siege_finish_time;             // 0xC8
        public long last_dungeon_raid_wrap_up_time;             // 0xD0
        public bool bDungeonSiege;                              // 0xD8
        public bool bDungeonSiegeCreated;                       // 0xD9
        public bool bDungeonSiegeKicked;                        // 0xDA
        public bool bDungeonSiegeNeedToDestroy;                 // 0xDB
        public bool bNeedToChangePosition;                      // 0xDC
        public int max_guild_party;                             // 0xE0
        public int max_raid_party;                              // 0xE4
        public int tax_rate;                                    // 0xE8
// Data           :   this+0xEC, Member, Type: struct StructMonster *, 
// Data           :   this+0xF0, Member, Type: class std::set<unsigned int,std::less<unsigned int>,std::allocator<unsigned int> >, stCoreGuardianHandle
// UserDefinedType:     std::set<unsigned int,std::less<unsigned int>,std::allocator<unsigned int> >
// 
// Data           :   this+0xFC, Member, Type: struct StructMonster *, pConnector
// Data           :   this+0x100, Member, Type: class XCriticalSection, m_CS
// UserDefinedType:     XCriticalSection
// 
// UserDefinedType:   RESPAWNED_ENVIRONMENTAL_GUARDIAN_INFO
// Function       :     public void _DUNGEON_INFO::RESPAWNED_ENVIRONMENTAL_GUARDIAN_INFO::RESPAWNED_ENVIRONMENTAL_GUARDIAN_INFO(struct StructMonster *, struct GameContent::MONSTER_RESPAWN_INFO *)
// Data           :     this+0x0, Member, Type: struct StructMonster *, pMonster
// Data           :     this+0x4, Member, Type: unsigned long, nNextRespawnTime
// Data           :     this+0x8, Member, Type: struct GameContent::MONSTER_RESPAWN_INFO *, pRespawnInfo
// Data           :   this+0x140, Member, Type: class std::vector<GameContent::MONSTER_RESPAWN_INFO,std::allocator<GameContent::MONSTER_RESPAWN_INFO> >, vGuardianRespawnInfo
// UserDefinedType:     std::vector<GameContent::MONSTER_RESPAWN_INFO,std::allocator<GameContent::MONSTER_RESPAWN_INFO> >
// 
// Data           :   this+0x150, Member, Type: class std::vector<GameContent::MONSTER_RESPAWN_INFO,std::allocator<GameContent::MONSTER_RESPAWN_INFO> >, vEnvironmentalGuardianRespawnInfo
// UserDefinedType:     std::vector<GameContent::MONSTER_RESPAWN_INFO,std::allocator<GameContent::MONSTER_RESPAWN_INFO> >
// 
// Data           :   this+0x160, Member, Type: class std::vector<_DUNGEON_INFO::RESPAWNED_ENVIRONMENTAL_GUARDIAN_INFO,std::allocator<_DUNGEON_INFO::RESPAWNED_ENVIRONMENTAL_GUARDIAN_INFO> >, vRespawnedEnvironmentalGuardianInfo
// UserDefinedType:     std::vector<_DUNGEON_INFO::RESPAWNED_ENVIRONMENTAL_GUARDIAN_INFO,std::allocator<_DUNGEON_INFO::RESPAWNED_ENVIRONMENTAL_GUARDIAN_INFO> >
// 
// Data           :   this+0x170, Member, Type: class std::queue<int,std::deque<int,std::allocator<int> > >, qPendedGuardianRespawn
// UserDefinedType:     std::queue<int,std::deque<int,std::allocator<int> > >
// 
// Data           :   this+0x184, Member, Type: class std::vector<GameContent::MONSTER_RESPAWN_INFO,std::allocator<GameContent::MONSTER_RESPAWN_INFO> >, vRespawnInfo
// UserDefinedType:     std::vector<GameContent::MONSTER_RESPAWN_INFO,std::allocator<GameContent::MONSTER_RESPAWN_INFO> >
// 
// Data           :   this+0x194, Member, Type: class std::vector<int,std::allocator<int> >, vRoamerID
// UserDefinedType:     std::vector<int,std::allocator<int> >
// 
// Data           :   this+0x1A4, Member, Type: class std::vector<_DUNGEON_RAID_INFO *,std::allocator<_DUNGEON_RAID_INFO *> >, vRaidInfo
// UserDefinedType:     std::vector<_DUNGEON_RAID_INFO *,std::allocator<_DUNGEON_RAID_INFO *> >
// 
// Data           :   this+0x1B4, Member, Type: class std::vector<StructMonster *,std::allocator<StructMonster *> >, vMonsters
// UserDefinedType:     std::vector<StructMonster *,std::allocator<StructMonster *> >
// 
// Data           :   this+0x1C4, Member, Type: class std::vector<_TACTICAL_POSITION_INFO,std::allocator<_TACTICAL_POSITION_INFO> >, vTacticalPositionInfo
// UserDefinedType:     std::vector<_TACTICAL_POSITION_INFO,std::allocator<_TACTICAL_POSITION_INFO> >
// 
// Data           :   this+0x1D4, Member, Type: class std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >, vNotices
// UserDefinedType:     std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >
// 
// Function       :   protected void _DUNGEON_INFO::onMonsterDelete(struct StructMonster *)

    }
}
